package net.sisgac.atencion_cliente.service;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import net.sisgac.cliente.model.Cliente;
import net.sisgac.cliente.model.dao.ClienteDAO;
import net.sisgac.cliente.model.dao.jpa.JPAClienteDAO;




public class SeguridadServiceImpl implements SeguridadService {
	private final String UNIDAD_DE_PERSISTENCIA ="jpaPersistence";
	private EntityManager em;
	private EntityManagerFactory fabrica;
	private ClienteDAO clienteDAO;

	
	public SeguridadServiceImpl(){
		 em =	this.getEntityManager();
		clienteDAO=new JPAClienteDAO(em);
	}
	public EntityManager getEntityManager(){

		if(fabrica==null)
			fabrica = Persistence.createEntityManagerFactory(UNIDAD_DE_PERSISTENCIA);
		
		return fabrica.createEntityManager();
		
	}
	public Cliente validarCliente(Cliente cliente){
		Cliente clientebd=clienteDAO.findById(cliente.getIdcliente());
		if(clientebd==null){
			throw new RuntimeException("Usuario no existe");
		}
		if(!clientebd.getIdcliente().toLowerCase().equals(cliente.getIdcliente().toLowerCase())){
			throw new RuntimeException ("Password no coincide");
		}
		return clientebd;
	}

}
